package com.yj.rocketmq.producer.dto;

import lombok.*;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

/**
 * @author yxp
 * @date 19-3-29
 */
@Getter
@Setter
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class MessageDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 消息topic
     */
    private String topic;

    /**
     * 操作tag
     */
    private String tag;

    /**
     * 消息内容
     */
    private String body;

    /**
     * 附带参数
     */
    private Map<String, String> properties = new HashMap<>();

    /**
     * 来源（发送方，微服务名称）
     */
    private String source;

    /**
     * 目的地（接收放，微服务名称）
     */
    private String destination;

    /**
     * 延迟消息
     * null:不用延迟
     * 0:不用延迟
     * 1:15s
     * 2:15s
     * 3:30s
     * 4:2m
     * 5:3m
     * 6:5m
     * 7:10m
     * 8:20m
     * 9:30m
     * 10:30m
     * 11:30m
     * 12:60m
     * 13:3h
     * 14:3h
     * 15:3h
     * 16:6h
     * 17:6h
     * 18:7h
     */
    private Integer delayLevel;
}
